Metadata-Version: 2.4
Name: dsc
Version: 0.1.0
Summary: CLI-first local AI code security scanner
Author: DSC
License: MIT
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: click>=8.1
Requires-Dist: rich>=13.7
Requires-Dist: PySide6>=6.8
Requires-Dist: pyyaml>=6.0
Requires-Dist: tree-sitter>=0.21
Requires-Dist: tree-sitter-python>=0.21
Requires-Dist: tree-sitter-javascript>=0.21
Requires-Dist: tree-sitter-typescript>=0.21
Requires-Dist: tree-sitter-go>=0.21
Requires-Dist: tree-sitter-java>=0.21
Requires-Dist: tree-sitter-rust>=0.21
Requires-Dist: cryptography>=42.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0; extra == "dev"
Requires-Dist: ruff>=0.3; extra == "dev"
Requires-Dist: mypy>=1.8; extra == "dev"
Requires-Dist: black>=24.0; extra == "dev"
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: twine>=5.0; extra == "dev"
Requires-Dist: pre-commit>=3.7; extra == "dev"
Requires-Dist: jsonschema>=4.0; extra == "dev"

# DevSecScanner (Python)

This folder contains the Python pieces used by the DevSecCode scanner:

- `src/dsc`: the scanner CLI/library (`dsc`)
- `backend/src/dsc_api`: FastAPI backend used by the IDE integration (`dsc-api`)

## Local Setup And Launch (macOS/Linux)

From the repo root (or any directory — the script resolves its own path):

```bash
bash resources/devsecscanner/scripts/bootstrap.sh
```

By default this will:

- create/update `resources/devsecscanner/.venv`
- install both Python projects in editable mode
- start backend service on `127.0.0.1:8000`
- start IDE watch build (`npm run watch`)
- launch DevSecCode IDE (`./scripts/code.sh`)

Use `--setup-only` if you only want dependency bootstrap.

## Running The Backend

From `resources/devsecscanner`:

```bash
PYTHONPATH="$PWD/src:$PWD/backend/src" ./.venv/bin/python -m uvicorn dsc_api.main:app --host 127.0.0.1 --port 8000
```

## Notes

- Python requirement: `>=3.10` (recommended: use the same Python version as the bundled dev environment).
- The IDE auto-start logic prefers `resources/devsecscanner/.venv` when present.
